package lumis.portal.presentation;

import lumis.portal.PortalException;
import lumis.portal.PortalRequestContext;
import lumis.portal.authentication.SessionConfig;
import lumis.portal.page.PageConfig;
import lumis.util.ITransaction;

/**
 * This interface is a extension of {@link IPresentationManager} for internal
 * uses.
 * 
 * @version $Revision: 13093 $ $Date: 2011-05-28 18:40:18 -0300 (Sat, 28 May 2011) $
 * @since 6.0.0
 */
public interface IPresentationManagerSPI extends IPresentationManager
{

	/**
	 * Get the default Page.
	 * 
	 * @param sessionConfig the session identifier of the current user.
	 * @param pageId The destination page identifier.
	 * @param channelId The destination channel identifier.
	 * @param website the website that the user is accessing.
	 * @param mode the current portal mode.
	 * @param requestContext the portal request context map.
	 * @param daoTransaction the current transaction.
	 * @return a PageConfig.
	 * @throws PortalException
	 * @since 6.0.0
 	 */
	public abstract PageConfig getDefaultPage(SessionConfig sessionConfig, String pageId, String channelId, String website, int mode, PortalRequestContext requestContext, ITransaction daoTransaction)
			throws PortalException;

}